export enum ThridTypeEnum {
  /** 普通小程序登录 */
  MINIAPP = 'mini_app',
  /** 第三方平台登录 */
  WX3RD = 'wx3rd',
}

/**
 * @description 智能体角色类型
 * @date 06/03/2025
 * @export
 * @enum {number}
 */
export enum RoleTypeEnum {
  /** 超级管理员 */
  SUPER_ADMIN = 'SUPER_ADMIN',
  /** 管理员 */
  ADMIN = 'ADMIN',
  /** 普通用户 */
  MEMBER = 'MEMBER',
}

/**
 * @description 智能助手认证类型（个人、企业、社会组织）
 * @date 06/03/2025
 * @export
 * @enum {number}
 */
export enum AuthTypeEnum {
  /** 个人 */
  PERSONAL = 'PERSONAL',
  /** 企业 */
  ENTERPRISE = 'ENTERPRISE',
  /** 社会组织 */
  ORGANIZATION = 'ORGANIZATION',
}
/**
 * @description AuthTypeEnum转文本
 * @date 06/03/2025
 * @export
 * @param {AuthTypeEnum} status
 * @returns {string}
 */
export const authTypeText = (status: AuthTypeEnum | null | undefined) => {
  if (status === null || status === undefined) return { text: '', description: '', type: '' };
  return {
    [AuthTypeEnum.PERSONAL]: {
      text: '个人认证',
      description: '以个人身份证号认证账户',
      type: AuthTypeEnum.PERSONAL,
    },
    [AuthTypeEnum.ENTERPRISE]: {
      text: '企业认证',
      description: '以企业信息认证账户',
      type: AuthTypeEnum.ENTERPRISE,
    },
    [AuthTypeEnum.ORGANIZATION]: {
      text: '社会组织认证',
      description: '以社会组织信息认证账户',
      type: AuthTypeEnum.ORGANIZATION,
    },
  }[status];
};
/**
 * @description 组织机构证书类型
 * @date 06/03/2025
 * @export
 * @enum {number}
 */
export enum CertificateTypeEnum {
  /** 事业单位法人证书 */
  CERTIFICATE_TYPE_2388 = 'CERTIFICATE_TYPE_2388',
  /** 统一社会信用代码证书 */
  CERTIFICATE_TYPE_2389 = 'CERTIFICATE_TYPE_2389',
  /** 社会团体法人登记证书 */
  CERTIFICATE_TYPE_2394 = 'CERTIFICATE_TYPE_2394',
  /** 民办非企业单位登记证书 */
  CERTIFICATE_TYPE_2395 = 'CERTIFICATE_TYPE_2395',
  /** 基金会法人登记证书 */
  CERTIFICATE_TYPE_2396 = 'CERTIFICATE_TYPE_2396',
  /** 宗教活动场所登记证 */
  CERTIFICATE_TYPE_2399 = 'CERTIFICATE_TYPE_2399',
  /** 政府部门下发的其他有效证明文件 */
  CERTIFICATE_TYPE_2400 = 'CERTIFICATE_TYPE_2400',
  /** 执业许可证/执业证 */
  CERTIFICATE_TYPE_2520 = 'CERTIFICATE_TYPE_2520',
  /** 基层群众性自治组织特别法人统一社会信用代码证 */
  CERTIFICATE_TYPE_2521 = 'CERTIFICATE_TYPE_2521',
  /** 农村集体经济组织登记证 */
  CERTIFICATE_TYPE_2522 = 'CERTIFICATE_TYPE_2522',
}
// CertificateTypeEnum数组
export const certificateTypeOptions = [
  {
    text: '事业单位法人证书',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2388,
  },
  {
    text: '统一社会信用代码证书',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2389,
  },
  {
    text: '社会团体法人登记证书',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2394,
  },
  {
    text: '民办非企业单位登记证书',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2395,
  },
  {
    text: '基金会法人登记证书',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2396,
  },
  {
    text: '宗教活动场所登记证',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2399,
  },
  {
    text: '政府部门下发的其他有效证明文件',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2400,
  },
  {
    text: '执业许可证/执业证',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2520,
  },
  {
    text: '基层群众性自治组织特别法人统一社会信用代码证',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2521,
  },
  {
    text: '农村集体经济组织登记证',
    value: CertificateTypeEnum.CERTIFICATE_TYPE_2522,
  },
];
/**
 * ID_CARD(身份证)
 * PASSPORT(护照)
 * HM_VISITORPASS(港澳居民往来内地通行证)
 * TAIWAN(台胞证)
 * SOLDIER(士兵证)
 * OFFICERS(军官证)
 * 不填默认法人身份证
 */
export enum IdCardTypeEnum {
  ID_CARD = 'ID_CARD',
  PASSPORT = 'PASSPORT',
  HM_VISITORPASS = 'HM_VISITORPASS',
  TAIWAN = 'TAIWAN',
  SOLDIER = 'SOLDIER',
  OFFICERS = 'OFFICERS',
}

/**
 * @description 审核状态
 * @date 06/03/2025
 * @export
 * @enum {number}
 */
export enum AuditStatusEnum {
  /** 审核中 */
  PENDING = 0,
  /** 认证成功 */
  PASSED = 1,
  /** 认证失败 */
  REJECTED = 2,
}

/**
 * @description AuditStatusEnum转文本
 * @date 06/03/2025
 * @export
 * @param {AuditStatusEnum} status
 * @returns {string}
 */
export const auditStatusText = (status: AuditStatusEnum | null | undefined) => {
  if (status === null || status === undefined) return { text: '', color: '', bgColor: '' };
  return {
    [AuditStatusEnum.PENDING]: {
      text: '审核中',
      color: '#2878FF',
      bgColor: '#D0F7FF',
    },
    [AuditStatusEnum.PASSED]: {
      text: '认证成功',
      color: '#EA5E0E',
      bgColor: 'linear-gradient(90deg, #FDEDC7 0.12%, #F7D9A2 100%)',
    },
    [AuditStatusEnum.REJECTED]: {
      text: '认证失败',
      color: '#FFF',
      bgColor: '#EA5E0E',
    },
  }[status];
};
